package assdraw2.canvas.abstraction;

import java.awt.Color;
import java.awt.Rectangle;
import java.util.Vector;

import assdraw2.canvas.presentation.Visitor;




public abstract class Shape {

	private double x;
	private double y;
	private Color color;

	public Shape(){
		
	}

	public Shape(int x, int y, Color c){
		this.x = x;
		this.y = y;
		color = c;
	}
	
	public Shape(double x, double y, Color c){
		this.x = x;
		this.y = y;
		color = c;
	}
	
	
	public void move(double x, double y){
		this.x = x;
		this.y = y;
	}
	
	public abstract void scale(double fx, double fy);
	
	public abstract void accept(Visitor v);
	
	public abstract Rectangle getBoundary();
	


	public abstract boolean contains(double x2, double y2);

	public Vector<Shape> ungroup(){
		return null;
	}
	
	public double getX() {
		return x;
	}

	public void setX(double x) {
		this.x = x;
	}

	public double getY() {
		return y;
	}

	public void setY(double y) {
		this.y = y;
	}

	public Color getColor() {
		return color;
	}

	public void setColor(Color color) {
		this.color = color;
	}

	
}
